System and method of robust active learning method using noisy labels and domain adaptation

ABSTRACT

A system and method is disclosed for labeling an unlabeled dataset, with a labeling budget constraint and noisy oracles (i.e. noisy labels provided by annotator), using a noisy labeled dataset from another domain or application. The system and method combine active learning with noisy labels and active learning with domain adaptation to enhance classification performance.

TECHNICAL FIELD

The following relates generally to a system and method for robust activelearning using noisy labels and domain adaptation.

BACKGROUND

Typically, labeling a dataset may involve a human annotator thatmanually assigns one or more labels to a sample according to apre-defined set of allowed labels. Manually labeling a dataset in thismanner may, however, require significant resources and time. Also, suchmanual labeling may diminish the performance of an automated machinelearning system.

SUMMARY

A system and method is disclosed for an active learning algorithm thatreceives a noisily labeled source dataset. The system and method mayapply a robust deep learning algorithm to identify a source classifierfor the noisily labeled source dataset. The adapted classifier may beidentified using an adversarial domain discrimination machine learningalgorithm. The system and method may determine an adapted classifierusing an adversarial machine learning algorithm (i.e., adversarialnetwork) that operates on the source classifier. A label may be assignedto one or more samples within an unlabeled target dataset based on theactive learning algorithm that operably uses a target classifier and theadapted classifier.

The system and method may also warm-start the active learning algorithmusing the adapted classifier. The active learning algorithm may beoperable to provide training data for the target classifier. A schedulermay also control a duration for warm-starting the active learningalgorithm.

It is contemplated that the robust deep learning algorithm may include asoftmax layer followed by a dense linear layer operable to performdenoising of the noisily labeled source dataset. The active learningalgorithm may also be designed using a maximum entropy-based heuristicalgorithm or a batch active learning algorithm. The target classifiermay be updated per-batch when a batch active learning algorithm isapplied.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts an exemplary computing system.

FIG. 2 illustrates an exemplary convolutional neural network.

FIG. 3 illustrates flow diagram of the active learning algorithm.

FIG. 4 illustrates a computing system controlling an at least partiallyautonomous robot.

FIG. 5 is an embodiment in which a computer system may be used tocontrol an automated personal assistant.

FIG. 6 is an embodiment in which the computing system may be used tocontrol an access control system.

FIG. 7 is an embodiment in which the computing system may be used tocontrol a surveillance system.

FIG. 8 is an embodiment in which the computing system may be used tocontrol an imaging system.

DETAILED DESCRIPTION

As required, detailed embodiments are disclosed herein; however, it isto be understood that the disclosed embodiments are merely exemplary andmay be embodied in various and alternative forms. The figures are notnecessarily to scale; some features may be exaggerated or minimized toshow details of particular components. Therefore, specific structuraland functional details disclosed herein are not to be interpreted aslimiting, but merely as a representative basis for teaching one skilledin the art to variously employ the present embodiments.

In computing systems, labeled data is generally a sample (e.g., adigital image) that has been tagged with one or more labels. Labelingtypically takes a set of unlabeled data and augments each piece of thatunlabeled data with meaningful tags that are informative. For instance,a label might be used to: (1) indicate whether an image includes a givenobject (e.g., a dog or a cat); (2) recognize a spoken word within anaudio recording; or, (3) recognize a shape within an x-ray image isindicative of a tumor.

Labels used in various computing systems can be obtained in severaldifferent manners. For instance, an annotator (either human or machine)can be tasked with reviewing a given image and applying classificationsto any unlabeled data. Such annotation may include labeling whether agiven picture includes a specific object (e.g., a dog or cat). Theannotator may also be tasked with assigning one or more labels to asample, according to a pre-defined set of allowed labels. This processof labeling may require significant resources and time and can be alimiting factor on the performance of automated machine learning systems(e.g., convolutional neural network (CNN) or other type of deep neuralnetwork (DNN)).

With respect to labeled datasets, it is understood that the annotationprocess may include labeling “noise” that is an error occurring duringthe labeling process. Mis-labelling may occur for various reasons. Forinstance, the available information may be insufficient to performreliable labelling (e.g., the image may be of poor quality resulting ina dog being labeled as a cat). Alternatively, the annotator may make amistake during the labelling process. Another source of classificationerror (i.e., noise) may occur due to the subjectivity of the dataset.For instance, two experts may review an x-ray image and come todiffering opinions or results.

Labeling noise may also affect the reliability and performance ofmachine learning systems that will be trained on that labeled data. As aresult, minimizing the effect of possible errors in the annotation is animportant step towards increasing the reliability and performance ofsystems relying on machine learning models.

Additionally, it is contemplated that previously annotated datasets maybe re-used to aid the annotation of a new data set. Such reuse generallyrequires the adaptation of a machine learning system trained on apre-existing data set (i.e., source dataset) to the new unlabeleddataset (i.e., target dataset).

It is also contemplated that a system and method may be used to selectsamples to be labeled in an active labeling fashion from an unlabeleddataset (i.e., target dataset) to use in a deep-learning or machinelearning system. Such a system and method may be accomplished underlabeling budget constraints with the assumption of noise label from theannotator (noisy oracles). A pre-existent labeled dataset (i.e., sourcedataset) may already be developed from possibly different applications(where noisy labels can also be present). The existence and use of thesource dataset may allow for a warm-start of the active learning processand the source dataset may also provide improved classifier performanceregarding the number of queries (labeling budget).

Aside from misclassification, it is also understood that the inputsapplied at test time may differ from the training dataset, resulting inthe machine learning model not performing as desired. For instance,autonomous vehicles generally attempt to segment the digital imagescaptured by the car's camera system to interpret oncoming objects (i.e.,buildings, trees, other cars, pedestrians, and traffic lights). A giventrained dataset may have been developed and annotated based on imagesaround a given city (e.g., New York City). Based on the trained dataset,the machine learning model may operate as desired in the city used fortraining. However, the same trained dataset may not operate as desiredif the autonomous vehicle is driven in a foreign city (e.g., Paris)because the dataset might not be able to recognize that traffic lightslook different, the style of cars look different, and the streets aredesigned differently. Stated differently, the machine learning modelmight not be able to operate as desired because the domain of the inputdata changed while the task domain (the labels) remained the same.

It is contemplated the machine learning model may be operable toovercome misclassifications resulting from domain changes byincorporating a domain adaptation training model where a sourcedistribution may be used on a different (but related) targetdistribution. Domain adaptation may use labeled data in one or moresource domains to solve new tasks in a target domain. The level ofrelatedness between the source and target domains typically maydetermine the success of the adaptation.

It is also contemplated that the disclosed system and method mayleverage known techniques from domain adaptation, active learning, androbust deep learning. Domain adaptation, through adversarial learning,may be used to effectively transfer information from the source datasetto the target dataset using a pre-trained classifier that may warm-startthe labeling process. Active learning, (i.e., maximum entropy-basedheuristics and batch active learning) may be used to quickly achieveclassifier performance with a small number of target samples beinglabeled. Robust deep learning may be achieved using an additional denselinear layer at the end of the softmax to perform labeled denoising. Itis contemplated that the robust deep learning may be applied while thedeep-learning algorithm is being trained. A scheduler may also be usedto control the duration and importance of the warm-start.

FIG. 1 illustrates an exemplary system 100 that may be used to performrobust active learning on datasets with noisy labels and domainadaptation. The system 100 may include at least one computing devices102. The computing system 102 may include at least one processor 104that is operatively connected to a memory unit 108. The processor 104may be one or more integrated circuits that implement the functionalityof a central processing unit (CPU) 106. The CPU 106 may be acommercially available processing unit that implements an instructionstet such as one of the x86, ARM, Power, or MIPS instruction setfamilies.

During operation, the CPU 106 may execute stored program instructionsthat are retrieved from the memory unit 108. The stored programinstructions may include software that controls operation of the CPU 106to perform the operation described herein. In some examples, theprocessor 104 may be a system on a chip (SoC) that integratesfunctionality of the CPU 106, the memory unit 108, a network interface,and input/output interfaces into a single integrated device. Thecomputing system 102 may implement an operating system for managingvarious aspects of the operation.

The memory unit 108 may include volatile memory and non-volatile memoryfor storing instructions and data. The non-volatile memory may includesolid-state memories, such as NAND flash memory, magnetic and opticalstorage media, or any other suitable data storage device that retainsdata when the computing system 102 is deactivated or loses electricalpower. The volatile memory may include static and dynamic random-accessmemory (RAM) that stores program instructions and data. For example, thememory unit 108 may store a machine-learning model 110 or algorithm,training dataset 112 for the machine-learning model 110, and/or rawsource data 115.

The computing system 102 may include a network interface device 122 thatis configured to provide communication with external systems anddevices. For example, the network interface device 122 may include awired and/or wireless Ethernet interface as defined by Institute ofElectrical and Electronics Engineers (IEEE) 802.11 family of standards.The network interface device 122 may include a cellular communicationinterface for communicating with a cellular network (e.g., 3G, 4G, 5G).The network interface device 122 may be further configured to provide acommunication interface to an external network 124 or cloud.

The external network 124 may be referred to as the world-wide web or theInternet. The external network 124 may establish a standardcommunication protocol between computing devices. The external network124 may allow information and data to be easily exchanged betweencomputing devices and networks. One or more servers 130 may be incommunication with the external network 124.

The computing system 102 may include an input/output (I/O) interface 120that may be configured to provide digital and/or analog inputs andoutputs. The I/O interface 120 may include additional serial interfacesfor communicating with external devices (e.g., Universal Serial Bus(USB) interface).

The computing system 102 may include a human-machine interface (HMI)device 118 that may include any device that enables the system 100 toreceive control input. Examples of input devices may include humaninterface inputs such as keyboards, mice, touchscreens, voice inputdevices, and other similar devices. The computing system 102 may includea display device 132. The computing system 102 may include hardware andsoftware for outputting graphics and text information to the displaydevice 132. The display device 132 may include an electronic displayscreen, projector, printer or other suitable device for displayinginformation to a user or operator. The computing system 102 may befurther configured to allow interaction with remote HMI and remotedisplay devices via the network interface device 122.

The system 100 may be implemented using one or multiple computingsystems. While the example depicts a single computing system 102 thatimplements all of the described features, it is intended that variousfeatures and functions may be separated and implemented by multiplecomputing units in communication with one another. The particular systemarchitecture selected may depend on a variety of factors.

The system 100 may implement a machine-learning algorithm 110 that isconfigured to analyze the raw source data 115 (or dataset). The rawsource data 115 may include raw or unprocessed sensor data that may berepresentative of an input dataset for a machine-learning system. Theraw source data 115 may include video, video segments, images, and rawor partially processed sensor data (e.g., data from digital camera orLiDAR sensor). In some examples, the machine-learning algorithm 110 maybe a neural network algorithm (i.e., CNN or DNN) that may be designed toperform a predetermined function.

For instance, FIG. 2 illustrates a non-limiting example of a CNN 200that includes: an input dataset 210; one or more convolutional layers220-240; one or more pooling layers 250-270; a fully connected layer280; and a softmax layer 290.

The input dataset 210 may include raw images, voice data, or text data.Input dataset 210 may also include measurements received from one ormore sensors. Alternatively, input dataset 210 may be lightly processedprior to being provided to CNN 200. Convolutional layers 220-240 mayalso be operable to extract features from the input dataset 210. It isgenerally understood that convolutional layers 220-240 may be operableto apply filtering operations (e.g., kernels) before passing on theresult to another layer of the CNN 200. For instance, for a givendataset (e.g., color image), the convolution layers may executefiltering routines to perform operations such as image identification,edge detection of an image, and image sharpening.

It is also contemplated that the CNN may include one or more poolinglayers 250-270 that receive the convoluted data from the respectiveconvolution layers 220-240. Pooling layers 250-270 may include one ormore pooling layer units that apply a pooling function to one or moreconvolution layer outputs computed at different bands using a poolingfunction. For instance, pooling layer 250 may apply a pooling functionto the kernel output received from convolutional layer 220. The poolingfunction implemented by pooling layers 250-270 may be an average or amaximum function or any other function that aggregates multiple valuesinto a single value.

A fully connected layer 280 may also be operable to learn non-linearcombinations for the high-level features in the output data receivedfrom the convolutional layers 220-240 and pooling layers 250-270.Lastly, CNN 200 may include a softmax layer 290 that combines theoutputs of the fully connected layer 280 using softmax functions. It iscontemplated that the neural network algorithm shown by FIG. 2 may beconfigured for operation within automotive applications to identifyobjects (e.g., pedestrians) from images provided from a digital cameraand/or depth map from a LiDAR sensor.

With reference to FIG. 1, the system 100 may store a training dataset112 for the machine-learning algorithm 110. The training dataset 112 mayrepresent a set of previously constructed data for training themachine-learning algorithm 110. The training dataset 112 may be used bythe machine-learning algorithm 110 to learn weighting factors associatedwith a neural network algorithm. The training dataset 112 may include aset of source data that has corresponding outcomes or results that themachine-learning algorithm 110 tries to duplicate via the learningprocess. In this example, the training dataset 112 may include sourceimages and depth maps from various scenarios in which objects (e.g.,pedestrians) may be identified.

The machine-learning algorithm 110 may be operated in a learning modeusing the training dataset 112 as input. The machine-learning algorithm110 may be executed over a number of iterations using the data from thetraining dataset 112. With each iteration, the machine-learningalgorithm 110 may update internal weighting factors based on theachieved results. For example, the machine-learning algorithm 110 cancompare output results with those included in the training dataset 112.Since the training dataset 112 includes the expected results, themachine-learning algorithm 110 can determine when performance isacceptable. After the machine-learning algorithm 110 achieves apredetermined performance level (e.g., 100% agreement with the outcomesassociated with the training dataset 112), the machine-learningalgorithm 110 may be executed using data that is not in the trainingdataset 112. The trained machine-learning algorithm 110 may be appliedto new datasets to generate annotated data.

The machine-learning algorithm 110 may also be configured to identify aparticular feature in the raw source data 115. The raw source data 115may include a plurality of instances or input dataset for whichannotation results are desired. For example, the machine-learningalgorithm 110 may be configured to identify the presence of a pedestrianin images and annotate the occurrences. The machine-learning algorithm110 may be programmed to process the raw source data 115 to identify thepresence of the particular features. The machine-learning algorithm 110may be configured to identify a feature in the raw source data 115 as apredetermined feature. The raw source data 115 may be derived from avariety of sources. For example, the raw source data 115 may be actualinput data collected by a machine-learning system. The raw source data115 may be machine generated for testing the system. As an example, theraw source data 115 may include raw digital images from a camera.

In the example, the machine-learning algorithm 110 may process rawsource data 115 and generate an output. A machine-learning algorithm 110may generate a confidence level or factor for each output generated. Forexample, a confidence value that exceeds a predetermined high-confidencethreshold may indicate that the machine-learning algorithm 110 isconfident that the identified feature corresponds to the particularfeature. A confidence value that is less than a low-confidence thresholdmay indicate that the machine-learning algorithm 110 has someuncertainty that the particular feature is present.

With reference to the disclosed system and method, it is contemplatedthat a pre-labeled source dataset may be expressed by Equation (1)below:

X ^(s)={(x ₁ ^(s) ,y ₁), . . . ,(x _(m) ^(s) ,y _(m))}  Equation (1)

Where, X^(s) is the pre-labeled source dataset; x_(i) ^(s) is the i^(th)sample; and y_(i) is the respective label of the source dataset.

As discussed, the source dataset may be corrupted by label noise. Thelabel noise may be expressed by Equation (2) below:

ŷ−p _(s)(ŷ|y)  Equation (2)

Where, ŷ denotes the predicated value of y and p_(s) is the classconditional sample noise. It is contemplated that the probability oflabel change may depend on the true class y of the sample. It is alsocontemplated that the noisily labeled source dataset (Z^(s)) can then beexpressed by Equation (3) below:

Z ^(s)={(x ₁ ^(s) ,ŷ _(ι))|(x _(i) ^(s) ,y _(i))˜X ^(s) ,ŷ˜p_(s)(ŷ|y)}  Equation (3)

It is contemplated that one of the pre-labeled source dataset (X^(S))may be sampled and then that sample's label may be corrupted by Equation(2). Equation (4) below may be used to provide robustness to aclassifier (p_(s)) over the source dataset:

p _(s)(x,ŷ))=Σ_(y) p _(s)(ŷ|y)p _(s)(x,y)  Equation (4)

Based on Equation (4) it is contemplated that by learning the joint(noisy) data distribution p_(s)(x, ŷ) and estimate the conditional labelnoise p_(s)(ŷ|y), the distribution of interest p_(s)(x, y) may bedetermined.

The unlabeled target dataset may then be represented using Equation (5)below:

Let X ^(T)={(x ₁ ^(T) ,y ₁), . . . ,(x _(n) ^(T) ,y _(n))}  Equation (5)

Where X^(T) is the unlabeled target dataset; x_(i) ^(T) is the i^(th)sample of the target dataset; and y_(i) is the respective label of thetarget dataset. It is contemplated that to apply a classifier (p_(s))that was used to train the source dataset (X^(S)) to the target dataset(X^(T)) the joint sample/label distributions should be aligned as shownby Equation (6) below:

p _(s)(x ^(s) ,y)=p _(T)(x ^(T) ,y)  Equation (6)

This may be achieved by assuming that the source conditional samplenoise and the target conditional sample noise are the same as shown byEquation (7) below:

p _(s)(ŷ|y)=p _(T)(ŷ|y)  Equation (7)

It is contemplated that the difference between the source dataset andtarget dataset may be the result of a covariate shift (as shown byEquation (8) below) while the given task may remain the same (as shownby Equation (9) below).

p _(s)(x)≠p _(T)(x)  Equation (8)

p _(s)(y|x)=p _(T)(y|x)  Equation (9)

It is also contemplated that by implementing a domain adaptationalgorithm adaptation may be achieved by enforcing similarity between thesource input marginal (p_(s)(x)) and the target input marginal(p_(T)(x)) as shown by equation (10) below:

p _(s)(x)=p _(T)(x)  Equation (10)

It is contemplated that a transformation from source to target may beadversarially learned such that any discriminator would unlikely beoperable to distinguish whether a sample originates from the targetdistribution, or it was modified from the source distribution. This isgenerally understood as an unsupervised method that does not requiresthe target-domain labels and can therefore be performed prior to theactive learning on the target data set.

To efficiently sample the target dataset within a given sampling budgetconstraint and based on noisy annotators, the disclosed system andmethod may operate on a noisy labeled source dataset X^(s), an unlabeledtarget dataset X^(T), and a classifier f parameterized by θ. With theseinput parameters, the target dataset is sampled by: (1) learning anoise-robust classifier on source data set (f_(s)); (2) adapting thenoise-robust classifier trained on the source data set to the targetdata set using adversarial training to yield a noise-robust classifierthat is adapted to the target domain (f_(s→t)); and (3) using theadapted noise-robust classifier (f_(s→t)) to warm-start the activelearning process to provide training data for target classifier f_(t).

FIG. 3 illustrates a flow diagram 300 illustrating a method that may beemployed on system 100 for sampling the target dataset within a givensampling budget constraint and based on noisy annotators. It iscontemplated that flow diagram 300 may be executed using a automatedmachine learning algorithm (e.g., CNN 200).

At Step 302, system 100 may receive one or more inputs. For instance,system 100 may receive the noisily labeled dataset (X^(S)); an unlabeledtarget dataset (X^(T)); a source classifier (f_(s)) parameterized by(θ_(s)); an adapted classifier (f_(s→t)) parameterized by (θ_(s→t)); atarget classifier (f_(t)) parameterized by (θ_(t)); an adaptationstopping condition (S) which may be initialized as “FALSE;” a labelingbudget value (B); and a per-batch adapted and target sampling schedules(λ_(S→T),λ_(T)).

It is contemplated that the adaptation stopping condition may bepredefined (or initialized) to a “NOT TRUE” or “FALSE” condition. Also,the per-batch sampling schedule may establish the controlling durationor length of the warm-start sequence. While it is contemplated that theper-batch sampling parameters (λ_(S→T),λ_(T)) may be provided as inputvalues at Step 302, it is also contemplated that the per-batch samplingparameters can be inferred from the target classifier performance on ahold-out dataset where λ_(S→T)>>λ_(T) may be used to control thewarm-start of the sequence.

Once the inputs are received, flow diagram 300 may proceed to Step 304where one or more values are initialized. For instance, a labelingcumulative cost (C) value may be initialized to a starting value of zero(0). Also, a labeled target dataset (X^(T)′) may be initialized to anempty or new dataset (e.g., X^(T)′={ }). Flow diagram 300 may thenproceed to Step 306 to evaluate whether the adaptation stoppingcondition (S) is equal to a FALSE value. If NO, flow diagram 300proceeds back to Step 302.

If YES, flow diagram 300 proceeds to Step 308 where the sourceclassifier (f_(s)) is initialized from f_(s) (θ_(s→t)←θ_(s)). Step 308also will adapt the source classifier f_(s→t) to the unlabeled targetdataset (X^(T)) based on adversarial training (i.e., adversarial machinelearning algorithm) that uses a domain discrimination technique.However, it is contemplated other domain adaptation techniques otherthan adversarial training may be used at Step 408. For instance, it iscontemplated that a reweighting algorithm, iterative algorithm, orhierarchical Bayesian model may be used. Step 408 also updates theparameterized adapted value (i.e., θ_(s→t)) and proceeds to Step 410.

Step 310 evaluates whether the cumulative cost (C) value is less-then orequal to the labeling budget value (i.e., C≤B). If NO (i.e., C>B), thenflow diagram returns to Step 306. If YES, flow diagram 300 proceeds toStep 312 where an active learning algorithm (i.e., annotator) mayoperate to sort the unlabeled target dataset (O_(T)) samples using atarget classifier (f_(T))—i.e., noise-robust deep network classifier.Step 312 also uses an active learning algorithm also operate to sort theunlabeled adapted samples (O_(S→T)) using the adapted classifier(f_(s→T)). At Step 314, the top target per-batch sampling schedule(λ_(T)) samples are labeled using the unlabeled target dataset (O_(T)).Also, the top adapted per-batch sampling schedule (λ_(S→T)) samples arelabeled using the unlabeled adapted samples (O_(S→T)). At Step 316, flowdiagram 300 would operate to add the newly labeled samples to thelabeled target dataset (X^(T)′). Flow diagram 300 then proceeds to Step318 where the per-batch sampling schedule (λ_(S→T),λ_(T)) may also beupdated. At step 320, the noise-robust deep network target classifier(f_(T)) may be determined on the labeled target dataset (X^(T)′). It iscontemplated that the noise-robust deep target classifier (f_(T)) may beimplemented using a final softmax output layer and a fully connectedlinear layer which operates to handle the noisy labels.

Alternatively, it is contemplated that a batch active learning strategymay be employed instead of the iterative learning approach. Forinstance, instead of labeling each individual unlabeled target dataset(X^(T)) sample, system 100 may batch the unlabeled target dataset(X^(T)) samples and sort these samples using the active learningapproach implemented by Steps 312, 314. The noise-robust deep networktarget classifier (f_(T)) could then be updated per-batch. It iscontemplated that the active learning sampling strategy may beimplemented using a maximum entropy-based heuristic to drive the activelearning process of the machine learning algorithm. However, it is alsocontemplated that additional or alternative active learning samplingstrategies may be implemented.

FIG. 4 illustrates an embodiment in which a computing system 440 may beused to control an at least partially autonomous robot, e.g. an at leastpartially autonomous vehicle 400. The computing system 440 may be likethe system 100 described in FIG. 1. Sensor 430 may comprise one or morevideo/camera sensors and/or one or more radar sensors and/or one or moreultrasonic sensors and/or one or more LiDAR sensors and/or one or moreposition sensors (like e.g. GPS). Some or all these sensors arepreferable but not necessarily integrated in vehicle 400.

Alternatively, sensor 430 may comprise an information system fordetermining a state of the actuator system. The sensor 430 may collectsensor data or other information to be used by the computing system 440.One example for such an information system is a weather informationsystem which determines a present or future state of the weather inenvironment. For example, using input signal x, the classifier may forexample detect objects in the vicinity of the at least partiallyautonomous robot. Output signal y may comprise an information whichcharacterizes where objects are located in the vicinity of the at leastpartially autonomous robot. Control command A may then be determined inaccordance with this information, for example to avoid collisions withsaid detected objects.

Actuator 410, which may be integrated in vehicle 400, may be given by abrake, a propulsion system, an engine, a drivetrain, or a steering ofvehicle 400. Actuator control commands may be determined such thatactuator (or actuators) 410 is/are controlled such that vehicle 400avoids collisions with said detected objects. Detected objects may alsobe classified according to what the classifier deems them most likely tobe, e.g. pedestrians or trees, and actuator control commands A may bedetermined depending on the classification.

Shown in FIG. 5 is an embodiment in which computer system 540 is usedfor controlling an automated personal assistant 550. Sensor 530 may bean optic sensor, e.g. for receiving video images of a gestures of user549. Alternatively, sensor 530 may also be an audio sensor e.g. forreceiving a voice command of user 549.

Control system 540 then determines actuator control commands A forcontrolling the automated personal assistant 550. The actuator controlcommands A are determined in accordance with sensor signal S of sensor530. Sensor signal S is transmitted to the control system 540. Forexample, classifier may be configured to e.g. carry out a gesturerecognition algorithm to identify a gesture made by user 549. Controlsystem 540 may then determine an actuator control command A fortransmission to the automated personal assistant 550. It then transmitssaid actuator control command A to the automated personal assistant 550.

For example, actuator control command A may be determined in accordancewith the identified user gesture recognized by classifier. It may thencomprise information that causes the automated personal assistant 550 toretrieve information from a database and output this retrievedinformation in a form suitable for reception by user 549.

In further embodiments, it may be envisioned that instead of theautomated personal assistant 550, control system 540 controls a domesticappliance (not shown) controlled in accordance with the identified usergesture. The domestic appliance may be a washing machine, a stove, anoven, a microwave or a dishwasher.

Shown in FIG. 6 is an embodiment in which computing system controls anaccess control system 600. Access control system may be designed tophysically control access. It may, for example, comprise a door 601.Sensor 630 is configured to detect a scene that is relevant for decidingwhether access is to be granted or not. The sensor 630 may collect imagedata or video data related to the scene. It may for example be anoptical sensor for providing image or video data, for detecting aperson's face. Classifier may be configured to interpret this image orvideo data e.g. by matching identities with known people stored in adatabase, thereby determining an identity of the person. Actuatorcontrol signal A may then be determined depending on the interpretationof classifier, e.g. in accordance with the determined identity. Actuator610 may be a lock which grants access or not depending on actuatorcontrol signal A. A non-physical, logical access control is alsopossible.

Shown in FIG. 7 is an embodiment in which computing system 740 controlsa surveillance system 700. This embodiment is largely identical to theembodiment shown in FIG. 5. Therefore, only the differing aspects willbe described in detail. Sensor 730 is configured to detect a scene thatis under surveillance. The sensor 730 may collect image data or videodata related to the scene. The computing system does not necessarilycontrol an actuator 710, but a display 710 a. For example, the machinelearning system may determine a classification of a scene, e.g. whetherthe scene detected by optical sensor 730 is suspicious. Actuator controlsignal A which is transmitted to the display 710 a may then e.g. beconfigured to cause the display 710 a to adjust the displayed contentdependent on the determined classification, e.g. to highlight an objectthat is deemed suspicious by machine learning system.

Shown in FIG. 8 is an embodiment of a computing system 840 forcontrolling an imaging system 800, for example an MRI apparatus, x-rayimaging apparatus or ultrasonic imaging apparatus. Sensor 830 may, forexample, be an imaging sensor. Machine learning system may thendetermine a classification of all or part of the sensed image. Thecomputing system 840 may collect data related to the images affiliatedwith the x-ray imaging or ultrasonic imaging. Actuator control signal Amay then be chosen in accordance with this classification, therebycontrolling display 810 a. For example, machine learning system mayinterpret a region of the sensed image to be potentially anomalous. Inthis case, actuator control signal A may be determined to cause display810 a to display the imaging and highlighting the potentially anomalousregion.

The processes, methods, or algorithms disclosed herein can bedeliverable to/implemented by a processing device, controller, orcomputer, which can include any existing programmable electronic controlunit or dedicated electronic control unit. Similarly, the processes,methods, or algorithms can be stored as data, logic, and instructionsexecutable by a controller or computer in many forms including, but notlimited to, information permanently stored on non-writable storage mediasuch as ROM devices and information alterably stored on writeablestorage media such as floppy disks, magnetic tapes, CDs, RAM devices,and other magnetic and optical media. The processes, methods, oralgorithms can also be implemented in a software executable object.Alternatively, the processes, methods, or algorithms can be embodied inwhole or in part using suitable hardware components, such as ApplicationSpecific Integrated Circuits (ASICs), Field-Programmable Gate Arrays(FPGAs), state machines, controllers or other hardware components ordevices, or a combination of hardware, software and firmware components.

While exemplary embodiments are described above, it is not intended thatthese embodiments describe all possible forms of the invention. Rather,the words used in the specification are words of description rather thanlimitation, and it is understood that various changes may be madewithout departing from the spirit and scope of the invention.Additionally, the features of various implementing embodiments may becombined to form further embodiments of the invention.

What is claimed is:
 1. A method that includes an active learningalgorithm, comprising: receiving a noisily labeled source dataset;applying a robust deep learning algorithm to identify a sourceclassifier for the noisily labeled source dataset; determining anadapted classifier using a domain discrimination algorithm that operateson the source classifier; and assigning a label to one or more sampleswithin an unlabeled target dataset based on the active learningalgorithm that operably uses a target classifier and the adaptedclassifier.
 2. The method of claim 1, wherein the domain discriminationalgorithm is designed as an adversarial network.
 3. The method of claim1, further comprising: warm-starting the active learning algorithm usingthe adapted classifier, wherein the active learning algorithm isoperable to provide training data for the target classifier.
 4. Themethod of claim 3, wherein a scheduler controls a duration forwarm-starting the active learning algorithm.
 5. The method of claim 1,wherein the robust deep learning algorithm includes a softmax layerfollowed by a dense linear layer operable to perform denoising of thenoisily labeled source dataset.
 6. The method of claim 1, wherein theactive learning algorithm is designed using a maximum entropy-basedheuristic algorithm.
 7. The method of claim 1, wherein the activelearning algorithm is designed using a batch active learning algorithm.8. The method of claim 7, wherein the target classifier is updatedper-batch.
 9. A method that includes an active learning algorithm,comprising: receiving a noisily labeled source dataset; applying arobust deep learning algorithm to identify a source classifier for thenoisily labeled source dataset; determining an adapted classifier usingan adversarial domain adaptation machine learning algorithm thatoperates on the source classifier; and assigning a label to one or moresamples within an unlabeled target dataset based on the active learningalgorithm that operably uses a target classifier and the adaptedclassifier.
 10. The method of claim 9, further comprising: warm-startingthe active learning algorithm using the adapted classifier, wherein theactive learning algorithm is operable to provide training data for thetarget classifier.
 11. The method of claim 10, wherein a schedulercontrols a duration for warm-starting the active learning algorithm. 12.The method of claim 9, wherein the robust deep learning algorithmincludes a softmax layer followed by a dense linear layer operable toperform denoising of the noisily labeled source dataset.
 13. A systemoperable to employ an active learning algorithm, comprising: acontroller operable to: receive a noisily labeled source dataset; applya robust deep learning algorithm to identify a source classifier for thenoisily labeled source dataset; determine an adapted classifier using andomain discrimination machine learning algorithm that operates on thesource classifier; and assign a label to one or more samples within anunlabeled target dataset based on the active learning algorithm thatoperably uses a target classifier and the adapted classifier.
 14. Thesystem of claim 13, wherein the domain discrimination machine learningalgorithm is designed using an adversarial network.
 15. The system ofclaim 13, wherein the controller is further operable to: warm-start theactive learning algorithm using the adapted classifier, wherein theactive learning algorithm is operable to provide training data for thetarget classifier.
 16. The system of claim 15, wherein a schedulercontrols a duration to warm-start the active learning algorithm.
 17. Thesystem of claim 13, wherein the robust deep learning algorithm includesa softmax layer followed by a dense linear layer operable to performdenoising of the noisily labeled source dataset.
 18. The system of claim13, wherein the active learning algorithm is designed using a maximumentropy-based heuristic algorithm.
 19. The system of claim 13, whereinthe active learning algorithm is designed using a batch active learningalgorithm.
 20. The system of claim 19, wherein the target classifier isupdated per-batch.